home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX 6.3 Development Libraries
/
SGI IRIX 6.3 Development Libraries.iso
/
dist
/
dist6.3
/
ViewKit_dev.idb
/
usr
/
include
/
Vk
/
VkMoviePlayer.h.z
/
VkMoviePlayer.h
Wrap
C/C++ Source or Header
|
1996-09-20
|
3KB
|
102 lines
//////////////////////////////////////////////////////////////////////////////
//
// Copyright 1995, Silicon Graphics, Inc. All Rights Reserved.
//
// This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
// the contents of this file may not be disclosed to third parties, copied or
// duplicated in any form, in whole or in part, without the prior written
// permission of Silicon Graphics, Inc.
//
// RESTRICTED RIGHTS LEGEND:
// Use, duplication or disclosure by the Government is subject to restrictions
// as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
// and Computer Software clause at DFARS 252.227-7013, and/or in similar or
// successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
// rights reserved under the Copyright Laws of the United States.
//
//////////////////////////////////////////////////////////////////////////////
#ifndef VKMOVIEPLAYER_H
#define VKMOVIEPLAYER_H
// VkMoviePlayer.h
#include <Vk/VkComponent.h>
#include <GL/glx.h>
class VkMoviePlayer : public VkComponent {
public:
static const char *const movieFinishedCallback;
VkMoviePlayer(const char * name,
Widget parent,
char *movieFilename = NULL);
virtual ~VkMoviePlayer();
virtual const char* className();
void setMute (Boolean m=False);
char* movieFileName() const { return _movieFileName; };
void setMovieFileName(const char *);
Boolean mpeg() const { return _mpeg; };
void * movieId() const { return _mvid; };
void * imageTrack() const { return _imageTrack; };
void * audioTrack() const { return _audioTrack; };
pid_t audioPid() const { return _audioPid; };
static VkComponent *CreateVkMoviePlayer(const char *, Widget);
virtual void play();
virtual void play(Boolean);
virtual void stop();
virtual void rewind();
virtual void resize(Widget, XEvent*);
virtual void drawFrame(int n = 0);
virtual void playFrame();
virtual void glInit(Widget);
private:
static XtTranslations _tt;
static XtActionsRec _actions[];
static char _ttDraw[];
static String _defaultResources[];
Widget _form;
Boolean _initialized, _muted, _playing, _mpeg;
Widget _glDraw;
GLXContext _glContext;
char *_movieFileName;
void * _mvid, *_imageTrack, *_audioTrack;
int _mvWidth, _mvHeight;
int _totalFrames;
unsigned long _frameRateMS;
void* _frame;
size_t _frameSz;
int _currentFrame;
pid_t _audioPid;
XtIntervalId _intervalId;
Boolean build();
void startTimer();
void stopTimer();
// callbacks
static void glInitCB(Widget, XtPointer, XtPointer);
static void exposedCB(Widget, XtPointer, XtPointer);
static void resizeCB(Widget, XtPointer, XEvent*, Boolean*);
static void intervalCB(XtPointer, XtIntervalId*);
static void *RegisterVkMoviePlayerInterface();
};
#endif